package com.ruoyi.web.controller.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.domain.vo.MetricsQuery;
import com.ruoyi.web.controller.domain.EnterpriseInfo;
import com.ruoyi.web.controller.vo.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface IEnterpriseInfoService extends IService<EnterpriseInfo> {
    EnterpriseInfo createEnterpriseInfo(EnterpriseInfo enterpriseInfo);

    TableDataInfo getAllEnterpriseInfo(EnterpriseInfoQuery query);

    EnterpriseInfo getEnterpriseInfoById(Long id);

    void updateEnterpriseInfo(EnterpriseInfo enterpriseInfo);

    void deleteEnterpriseInfo(Long id);

    void downloadByIds(List<Long> ids, HttpServletResponse response);

    String getShortLink(ShortLink link);

    Object updateLongLink(List<EnterpriseVO> vo);

    /**
     * 处理微信支付退款回调
     */
    //void handleRefundNotify(String signature, String serial, String nonce, String timestamp, String body) throws Exception;

    BusinessMetrics businessMetrics(MetricsQuery query);

    EnterpriseInfo selectEnterpriseInfoByShortLink(String userKey);

    void batchDelByIds(List<Long> ids);

    void handleRefundNotify(HttpServletRequest request);

}
